#include<bits/stdc++.h>
using namespace std;
int main(){
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
    int T,n,m,V,L;
    cin>>T;
    int x[T+1];
    int z[T+1];
    for(int i=1;i<=T;i++){
        cin>>n>>m>>L>>V;
        int d[n+1],v[n+1],a[n+1];
        int p[m+1],y[m];
        z[i]=0;
        x[i]=0;
        for(int j=1;j<=m;j++){
            y[j]=-1;
        }
        for(int j=1;j<=n;j++){
            cin>>d[j]>>v[j]>>a[j];
        }
        for(int j=1;j<=m;j++){
            cin>>p[j];
        }
        for(int j=1;j<=n;j++){
            if(a[j]==0){
                if(v[j]>V){
                    for(int k=1;k<=m;k++){
                        if(d[j]<=p[k]){
                            if(y[k]==0){
                                x[i]++;
                                break;
                            }
                            if(k==m&&y[k]==-1){
                                x[i]++;
                                y[k]==0;
                                z[i]++;
                            }
                        }
                    }
                }
            }else if(a[j]>0){
                if((V*V-v[j]*v[j])/(2*a[j])>0){
                    for(int k=1;k<=m;k++){
                        if((V*V-v[j]*v[j])/(2*a[j])+d[j]<=p[k]){
                            if(y[k]==0){
                                x[i]++;
                                break;
                            }
                            if(k==m&&y[k]==-1){
                                x[i]++;
                                y[k]==0;
                                z[i]++;
                            }
                        }
                    }
                }
            }else{
                if((V*V-v[j]*v[j])/(2*a[j])>0){
                    for(int k=1;k<=m;k++){
                        if((V*V-v[j]*v[j])/(2*a[j])+d[j]>=p[k]&&d[j]<=p[k]){
                            if(y[k]==0){
                                x[i]++;
                                break;
                            }
                            if(p[k+1]>(V*V-v[j]*v[j])/(2*a[j])+d[j]&&y[k]==-1){
                                x[i]++;
                                y[k]==0;
                                z[i]++;
                            }
                        }
                    }
                }
            }
        }
    }
    for(int i=1;i<=T;i++){
        cout<<x[i]<<" "<<z[i]<<endl;
    }
    return 0;
}
